﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ragipo
{
    /// <summary>
    /// Classe Event
    /// </summary>
    public class Event
    {

        #region Champs

        /// <summary>
        /// Donne l'ID
        /// </summary>
        private string _id = "Inconnu";
        /// <summary>
        /// Donne le titre
        /// </summary>
        private string _title = "Inconnu";
        /// <summary>
        /// Donne une description
        /// </summary>
        private string _description = "Inconnu";
        /// <summary>
        /// Donne lien lien uri de l'image
        /// </summary>
        private string _picture = "Inconnu";
        /// <summary>
        /// Donne la date.
        /// </summary>
        private string _date = "Inconnu";
        /// <summary>
        /// est associé à une venue
       
        /// <summary>
        /// lien event
        /// </summary>
        private string _link = "Inconnu" ;
        
        public Venue _venue = new Venue();

        private List<Artist> _lesArtists = new List<Artist>();

        private Artist _theArtist;

        private string _artist = "Inconnu";


#endregion
        

        #region Constructeurs


        public Event()
        {

        }

        /// <param name="id">l'ID de l'évènement</param>
        /// <param name="title">Donne l'intitulé de l'évènement</param>
        /// <param name="description">Donne le déroulement.</param>
        /// <param name="picture">Donne l'image.</param>
        /// <param name="date">Donne la date de l'évènement</param>
        public Event(string id, string title, string description, string date, string picture, Venue venue, Artist theArtist)
        {
            this.id = id;
            this.title = title;
            this.description=description;
            this.date = date;
            this.picture = picture;
            this.venue = venue;
            this.theArtist = theArtist;

        }
        public Event(string id, string title, string description, string date, string picture, Venue venue)
        {
            this.id = id;
            this.title = title;
            this.description = description;
            this.date = date;
            this.picture = picture;
            this.venue = venue;
           

        }
        public Event(string id, string title, string description, string date, string image, string link)
        {
            this.id = id;
            this.title = title;
            this.description = description;
            this.date = date;
            this.picture = picture;
            this.link = link;
        }


        #endregion




        #region Propriétés

        public string id
        {
            get { return _id; }
             private set { _id = value; }
        }



        public string title
        {
            get { return _title; }
           private set { _title = value; }
        }


        public string description
        {
            get { return _description; }
           private set { _description = value; }
        }



        public string picture
        {
            get { return _picture; }
           private set { _picture = value; }
        }



        public string date
        {
            get { return _date; }
           private set { _date = value; }
        }
        public string link
        {
            get { return _link; }
            private set { _link = value; }
        }

        public Venue venue
        {
            get { return _venue; }
            private set { _venue = value; }
        }


        public Artist theArtist 
        {
            get { return _theArtist; }
            private set { _theArtist = value; }
        }

        public string artist
        {
            get { return _artist; }
            private set { _artist = value; }
        }
        public List<Artist> lesArtists
        {
            get { return _lesArtists; }
            internal set { _lesArtists = value; }
        }






        #endregion


        public List<Artist> getLesArtists()
        {
            return lesArtists;
        }


    }
}
